#include <stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<signal.h>
#include<string.h>
void handle(int signo)
{
printf("我是信号%d\n",signo);
int cnt=32;
sigset_t set;
while(cnt--)
{
sigpending(&set);
for(int i=1;i<=31;i++)
{
if(sigismember(&set,i))
{
  printf("1");
}
else{
  printf("0");
}

printf("\n");


sleep(1);
}
}}
int main()
{
sigset_t set;
sigemptyset(&set);
sigaddset(&set,3);
sigaddset(&set,4);
sigaddset(&set,5);
struct sigaction act;
memset(&act,0,sizeof(act));
act.sa_flags=0;
act.sa_mask=set;
act.sa_handler=handle;
sigaction(2,&act,NULL);
while(1)
{


}



  return 0;
}
